package cn.bisoft.java.bean.entity;

import java.io.Serializable;



/**
 * This is an object that contains data related to the AnteFrontProviderInfo table.
 * Do not modify this class because it will be overwritten if the configuration file
 * related to this class is modified.
 *
 * @hibernate.class
 *  table="AnteFrontProviderInfo"
 */

public abstract class BaseAnteFrontProviderInfo  implements Serializable {
	private static final long serialVersionUID = 1L;
	public static String REF = "AnteFrontProviderInfo";
	public static String PROP_FEE_RATE = "FeeRate";
	public static String PROP_PROVIDER_U_R_L = "ProviderURL";
	public static String PROP_PROVIDER_NAME = "ProviderName";
	public static String PROP_MERCHANT_ID = "MerchantId";
	public static String PROP_PROVIDER_ID = "ProviderId";
	public static String PROP_ORDER_ID = "OrderId";


	// constructors
	public BaseAnteFrontProviderInfo () {
		initialize();
	}

	/**
	 * Constructor for primary key
	 */
	public BaseAnteFrontProviderInfo (java.lang.String providerId) {
		this.setProviderId(providerId);
		initialize();
	}

	/**
	 * Constructor for required fields
	 */
	public BaseAnteFrontProviderInfo (
		java.lang.String providerId,
		java.lang.String providerName,
		java.lang.String merchantId,
		java.lang.String providerURL,
		java.lang.String orderId) {

		this.setProviderId(providerId);
		this.setProviderName(providerName);
		this.setMerchantId(merchantId);
		this.setProviderURL(providerURL);
		this.setOrderId(orderId);
		initialize();
	}

	protected void initialize () {}



	private int hashCode = Integer.MIN_VALUE;

	// primary key
	private java.lang.String providerId;

	// fields
	private java.lang.String providerName;
	private java.lang.String merchantId;
	private java.lang.String providerURL;
	private java.lang.String orderId;
	private java.lang.Integer feeRate;



	/**
	 * Return the unique identifier of this class
     * @hibernate.id
     *  generator-class="assigned"
     *  column="ProviderId"
     */
	public java.lang.String getProviderId () {
		return providerId;
	}

	/**
	 * Set the unique identifier of this class
	 * @param providerId the new ID
	 */
	public void setProviderId (java.lang.String providerId) {
		this.providerId = providerId;
		this.hashCode = Integer.MIN_VALUE;
	}




	/**
	 * Return the value associated with the column: ProviderName
	 */
	public java.lang.String getProviderName () {
		return providerName;
	}

	/**
	 * Set the value related to the column: ProviderName
	 * @param providerName the ProviderName value
	 */
	public void setProviderName (java.lang.String providerName) {
		this.providerName = providerName;
	}



	/**
	 * Return the value associated with the column: MerchantId
	 */
	public java.lang.String getMerchantId () {
		return merchantId;
	}

	/**
	 * Set the value related to the column: MerchantId
	 * @param merchantId the MerchantId value
	 */
	public void setMerchantId (java.lang.String merchantId) {
		this.merchantId = merchantId;
	}



	/**
	 * Return the value associated with the column: ProviderURL
	 */
	public java.lang.String getProviderURL () {
		return providerURL;
	}

	/**
	 * Set the value related to the column: ProviderURL
	 * @param providerURL the ProviderURL value
	 */
	public void setProviderURL (java.lang.String providerURL) {
		this.providerURL = providerURL;
	}



	/**
	 * Return the value associated with the column: OrderId
	 */
	public java.lang.String getOrderId () {
		return orderId;
	}

	/**
	 * Set the value related to the column: OrderId
	 * @param orderId the OrderId value
	 */
	public void setOrderId (java.lang.String orderId) {
		this.orderId = orderId;
	}



	/**
	 * Return the value associated with the column: FeeRate
	 */
	public java.lang.Integer getFeeRate () {
		return feeRate;
	}

	/**
	 * Set the value related to the column: FeeRate
	 * @param feeRate the FeeRate value
	 */
	public void setFeeRate (java.lang.Integer feeRate) {
		this.feeRate = feeRate;
	}




	public boolean equals (Object obj) {
		if (null == obj) return false;
		if (!(obj instanceof AnteFrontProviderInfo)) return false;
		else {
			AnteFrontProviderInfo anteFrontProviderInfo = (AnteFrontProviderInfo) obj;
			if (null == this.getProviderId() || null == anteFrontProviderInfo.getProviderId()) return false;
			else return (this.getProviderId().equals(anteFrontProviderInfo.getProviderId()));
		}
	}

	public int hashCode () {
		if (Integer.MIN_VALUE == this.hashCode) {
			if (null == this.getProviderId()) return super.hashCode();
			else {
				String hashStr = this.getClass().getName() + ":" + this.getProviderId().hashCode();
				this.hashCode = hashStr.hashCode();
			}
		}
		return this.hashCode;
	}


	public String toString () {
		return super.toString();
	}


}